package com.ryder.petmatediarybackend.module.log.entity;

import java.time.LocalDateTime;
import java.io.Serial;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import java.io.Serializable;

 /**
 * 描述: 定时任务执行日志表(SysTaskLog)实体类
 * 
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-28 03:59:27
 */
@Data
public class SysTaskLog implements Serializable {

    @Serial
    private static final long serialVersionUID = 616470486316326818L;

    /**
     * 任务日志ID（雪花ID）
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 任务名称（如：TokenSyncTask、BlacklistSyncTask）
     */
    private String taskName;

    /**
     * 任务类型（SCHEDULED/MANUAL）
     */
    private String taskType;

    /**
     * 执行状态：1=成功 2=部分成功 3=失败
     */
    private Integer executeStatus;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 执行耗时（毫秒）
     */
    private Integer duration;

    /**
     * 总处理数量
     */
    private Integer totalCount;

    /**
     * 成功数量
     */
    private Integer successCount;

    /**
     * 失败数量
     */
    private Integer failCount;

    /**
     * 插入的黑名单 ID 列表（JSON数组）
     */
    private String blacklistIds;

    /**
     * 错误信息
     */
    private String errorMessage;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
}
